<html>
<body>
<h1>Javadoc Plugin</h1>
<p>
    The Javadoc plugin generates a javadoc api report for the project
</p>
<div id="after-summary">
    <p>The Javadoc plugin can be used to generate Javadocs for a single project, or aggregate javadocs from sub-projects.</p>
    <h2>Single Project Configuration</h2>
     <p>For the simple case of a single project, just include the plugin as follows:
    </p>
    <pre>&lt;plugin group="quokka.plugin.javadoc" version="?"/&gt;</pre>
    <p>You can then use the <tt>javadoc:report</tt> or <tt>javadoc</tt> (an alias) to generate the Javadocs. Javadocs
    will also be included automatically in the <tt>reports</tt> target.</p>
    <h2>Multiple Project Configuration</h2>
    <p>For multiple project builds where you want to produce an aggregated Javadocs report containing sources
        from the sub projects, you need to enable the <tt>aggregate-report</tt> target in the parent project as follows:</p>
    <pre>&lt;plugin group="quokka.plugin.javadoc" version="?" use-defaults="false" targets="aggregate-report"/&gt;</pre>
    <p>In the parent project's <tt>build.xml</tt> file, you'll need to define the sub-projects to
    aggregate and then run the <tt>aggregate-report</tt> target as follows:</p>
    <pre>&lt;target name="javadocs-all"&gt;
    &lt;subant target="javadoc:collect" buildpath="modules/module1:modules/modulen"/&gt;
    &lt;run-target target="javadoc:aggregate-report"/&gt;
&lt;/target&gt;</pre>
    <p>In the sub-projects, you need to enable the <tt>collect</tt> target. The <tt>collect</tt> target
    is enabled by default via the <tt>report</tt> target. However, if you don't want to generate Javadocs reports in the sub-projects
    you can override the defaults and only enable the <tt>collect</tt> target as follow:</p>
    <pre>&lt;plugin group="quokka.plugin.javadoc" version="?" use-defaults="false" targets="collect"/&gt;</pre>
    <p>You can now generate an aggregated Javadoc report for sub-projects using the <tt>javadocs-all</tt> target
    you defined.</p>
    <h2>Shared Properties</h2>
    <p>The following properties are valid for both the <tt>report</tt> and <tt>aggregate-report</tt> targets.</p>
    <p><b>Properties:</b></p>
    <table>
      <tbody>
      <tr>
        <td>destDir</td>
        <td>Destination directory for output files</td>
      </tr>
      <tr>
        <td>maxMemory</td>
        <td>Max amount of memory to allocate to the javadoc VM</td>
      </tr>
      <tr>

        <td>packageNames</td>
        <td>Comma separated list of package files (with terminating
          wildcard) -- see also the nested <code>package</code> element.</td>
      </tr>

      <tr>
        <td>packageList</td>
        <td>The name of a file containing the packages to process</td>
      </tr>
      <tr>
        <td>bootClassPath</td>

        <td>Override location of class files loaded by the bootstrap
          class loader</td>
      </tr>
      <tr>
        <td>bootClassPathRef</td>
        <td>Override location of class files loaded by the
          bootstrap class loader by reference to a
          PATH defined elsewhere.</td>
      </tr>
      <tr>
        <td>extDirs</td>
        <td>Override location of installed extensions</td>
      </tr>
      <tr>
        <td>overview</td>
        <td>Read overview documentation from HTML file</td>
      </tr>
      <tr>
        <td>access</td>
        <td>Access mode: one of <code>public</code>, <code>protected</code>,
                         <code>package</code>, or <code>private</code>. default is  <code>protected</code></td>
      </tr>
      <tr>
        <td>public</td>
        <td>Show only public classes and members</td>
      </tr>
      <tr>
        <td>protected</td>
        <td>Show protected/public classes and members (default)</td>
      </tr>
      <tr>
        <td>package</td>
        <td>Show package/protected/public classes and members</td>
      </tr>
      <tr>
        <td>private</td>
        <td>Show all classes and members</td>
      </tr>

      <tr>
        <td>old</td>
        <td>Generate output using JDK 1.1 emulating doclet</td>
      </tr>
      <tr>

        <td>verbose</td>
        <td>Output messages about what Javadoc is doing</td>
      </tr>
      <tr>
        <td>locale</td>

        <td>Locale to be used, e.g. en_US or en_US_WIN</td>
      </tr>
      <tr>
        <td>encoding</td>
        <td>Source file encoding name</td>
      </tr>
      <tr>
        <td>version</td>
        <td>Include @version paragraphs</td>
      </tr>
      <tr>
        <td>use</td>
        <td>Create class and package usage pages</td>
      </tr>
      <tr>
        <td>author</td>
        <td>Include @author paragraphs</td>
      </tr>

      <tr>
        <td>splitIndex</td>
        <td>Split index into one file per letter</td>
      </tr>
      <tr>

        <td>windowTitle</td>
        <td>Browser window title for the documentation (text)</td>
      </tr>
      <tr>
        <td>docTitle</td>

        <td>Include title for the package index(first) page (html-code)</td>
      </tr>
      <tr>
        <td>header</td>
        <td>Include header text for each page (html-code)</td>
      </tr>
      <tr>
        <td>footer</td>
        <td>Include footer text for each page (html-code)</td>
      </tr>
      <tr>
        <td>bottom</td>
        <td>Include bottom text for each page (html-code)</td>
      </tr>
      <tr>
        <td>link</td>
        <td>Create links to javadoc output at the given URL
        -- see also the nested <code>link</code> element.</td>
      </tr>
      <tr>
        <td>linkOffline</td>
        <td>Link to docs at <code>&lt;url&gt;</code> using package list at
        <code>&lt;url2&gt;</code> - separate the URLs by using a space character -- see
        also the nested <code>link</code> element.</td>
      </tr>
      <tr>
        <td>group</td>
        <td>Group specified packages together in overview
        page.  The format is as described below -- see also the nested
        <code>group</code> element.</td>
      </tr>
      <tr>
        <td>noDeprecated</td>
        <td>Do not include @deprecated information</td>
      </tr>
      <tr>
        <td>noDeprecatedList</td>
        <td>Do not generate deprecated list</td>
      </tr>
      <tr>
        <td>noTree</td>
        <td>Do not generate class hierarchy</td>
      </tr>
      <tr>
        <td>noIndex</td>
        <td>Do not generate index</td>
      </tr>
      <tr>
        <td>noHelp</td>
        <td>Do not generate help link</td>
      </tr>
      <tr>
        <td>noNavBar</td>
        <td>Do not generate navigation bar</td>
      </tr>
      <tr>
        <td>serialWarn</td>
        <td>Generate warning about @serial tag</td>
      </tr>
      <tr>
        <td>helpFile</td>
        <td>Specifies the HTML help file to use</td>
      </tr>
      <tr>
        <td>stylesheetFile</td>
        <td>Specifies the CSS stylesheet to use</td>
      </tr>
      <tr>
        <td>charset</td>
        <td>Charset for cross-platform viewing of generated
          documentation</td>
      </tr>
      <tr>
        <td>docEncoding</td>
        <td>Output file encoding name</td>
      </tr>
      <tr>
        <td>doclet</td>
        <td>Specifies the class file that starts the doclet
        used in generating the documentation -- see also the nested
        <code>doclet</code> element.</td>
      </tr>
      <tr>
        <td>docletPath</td>
        <td>Specifies the path to the doclet class file that is specified with the -doclet option.</td>
      </tr>
      <tr>
        <td>docletPathRef</td>
        <td>Specifies the path to the doclet class file that
          is specified with the -doclet option by reference to a PATH defined elsewhere.</td>
      </tr>

      <tr>
        <td>additionalParam</td>
        <td>Lets you add additional parameters to the javadoc
        command line. Useful for doclets. Parameters containing spaces
        need to be quoted using &amp;quot; -- see also the nested
        <code>arg</code> element.</td>
      </tr>
      <tr>
        <td>failOnError</td>
        <td>Stop the buildprocess if the command exits with a
          returncode other than 0.</td>
      </tr>

      <tr>
        <td>excludePackageNames</td>
        <td>comma separated list of packages you don't want
          docs for -- see also the nested <code>excludepackage</code> element.</td>
      </tr>
      <tr>
        <td>defaultExcludes</td>
        <td>indicates whether default excludes should be used
          (<code>yes</code> | <code>no</code>); default excludes are used when omitted.</td>
      </tr>
      <tr>
        <td>useExternalFile</td>
        <td>indicates whether the sourcefile name specified
          in srcfiles or as nested source elements should be written to a
          temporary file to make the command line shorter. Also applies to
          the package names specified via the packageNames attribute or
          nested package elements. Also applies
          to all the other command line options.
          (<code>yes</code> | <code>no</code>). Default is no.</td>
      </tr>
      <tr>
        <td>source</td>
        <td>Necessary to enable javadoc to handle assertions
        present in J2SE v 1.4 source code. Set this to "1.4" to
        documents code that compiles using <code>"javac -source
        1.4"</code>.<br/>

        A default value for this attribute can be provided using the magic
        <code>ant.build.javac.source</code>
        property.</td>
      </tr>
      <tr>

        <td>linkSource</td>
        <td>Generate hyperlinks to source files.
          (<code>yes</code> | <code>no</code>). Default is no.</td>
      </tr>
      <tr>
        <td>breakIterator</td>
        <td>Use the new breakiterator algorithm.

          (<code>yes</code> | <code>no</code>). Default is no.</td>
      </tr>
      <tr>
        <td>noQualifier</td>
        <td>Enables the <code>-noqualifier</code> argument -
          must be <code>all</code> or a colon separated list of packages.
          </td>
      </tr>
      <tr>
        <td>includeNoSourcePackages</td>
        <td>If set to true, packages that don't contain Java
          source but a package.html will get documented as well.
          </td>
      </tr>
      <tr>
        <td>executable</td>
        <td>Specify a particular <code>javadoc</code> executable
          to use in place of the default binary (found in the same JDK as Ant is running in).
          </td>
      </tr>
    </tbody></table>
</div>

<div id="report">
</div>
</body>
</html>